﻿using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoTipoFonteGeradora
    {
        public TipoFonteGeradora Inserir(TipoFonteGeradora tipoFonteGeradora, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(tipoFonteGeradora, usuarioPermissao);
        }

        public TipoFonteGeradora Atualizar(TipoFonteGeradora tipoFonteGeradora, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(tipoFonteGeradora, usuarioPermissao);
        }

        public void Excluir(TipoFonteGeradora tipoFonteGeradora, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(tipoFonteGeradora, usuarioPermissao);
        }

        public TipoFonteGeradora ObterTipoFonteGeradoraPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTipoFonteGeradoraPorId(id, usuarioPermissao);
        }

        public IList<TipoFonteGeradora> ObterTodosTipoFonteGeradoras()
        {
            return Fachada.GetInstancia().ObterTodosTiposFontesGeradoras();
        }

        public IList<TipoFonteGeradora> ObterTodosTipoFonteGeradoras(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, string codigo, string descricao,
                                                                        DateTime? inicioVigenciaDe, DateTime? inicioVigenciaAte, DateTime? fimVigenciaDe, DateTime? fimVigenciaAte)
        {
            return Fachada.GetInstancia().ObterTodosTiposFontesGeradoras(inicio, quantidade, quantidadeMinima, usuarioPermissao, codigo, descricao, inicioVigenciaDe, inicioVigenciaAte, fimVigenciaDe, fimVigenciaAte);
        }

        public TipoFonteGeradora ObterTipoFonteGeradoraPorCodigo(string codigo, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTipoFonteGeradoraPorCodigo(codigo, usuarioPermissao);
        }
    }
}